1. Field of the Invention
The present invention relates to database technologies, and more specifically to a method and apparatus to ensure timely servicing of desired transactions in a database server.
2. Related Art
A database server generally refers to a system which permits organization (e.g., in the form of tables in the case of relational tables) and management (addition, deletion, or change) of related data using structured queries (e.g., Structured Query Language, SQL). A database server typically processes a query and generates a corresponding response.
Database servers often process a set of related queries, which together form a transaction. A transaction generally refers to an activity (or queries supporting a logical unit of work) such as money transfer, sale, etc., and may require execution of one or more queries to complete (support for) the corresponding activity. All the queries forming a transaction need to be successfully executed or the effect of completed queries need to be reversed if the execution of a later transaction fails. This property is generally referred to as ‘atomicity requirement’.
Generally, transactions are received and scheduled for processing using one of various known scheduling approaches. However, since the resources (such as processor time, memory, access to secondary storage, etc) available for processing the transactions are finite, the time taken to service a transaction is often not predictable. The time to service a transaction in any time interval depends on the total number of transactions awaiting servicing and resource requirements of transactions.
It is often desirable that a desired set of transactions be serviced in a timely manner, for example, without much wait time before start of servicing. Various aspects of the present invention provide at least such a feature, as described below.
In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The drawing in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference number.